/*
Socket也可用于文件传输，我们实现一个客户端发送文件，服务端接收文件的小程序
把文件使用FileInputStream读到数组里，然后再把数组写到socket的getOutputStream()对象里.
 */
package MySocket;
import java.io.*;
import java.net.Socket;

public class FileClient {
    public static void main(String[] args) throws IOException {
        try(Socket socket = new Socket("127.0.0.1", 8086)){
            FileInputStream fileInputStream = new FileInputStream("test.txt");
            OutputStream outputStream = socket.getOutputStream();  //socket的输出流，用OutputStream类型来接收
            byte[] bytes = new byte[1024];  //每次发送的字节长度
            int i;
            while ((i = fileInputStream.read(bytes)) != -1){  //把输入流读取到字节数组里，每次读1024长度
                outputStream.write(bytes, 0, i); //把字节数组里的内容write到输出流
            }
            outputStream.flush();  //强制刷新一下，才会执行写入动作
            outputStream.close();

        }catch (IOException e){
            System.out.println("服务端连接失败......");
            e.printStackTrace();
        }
    }
}
